home *** CD-ROM | disk | FTP | other *** search
/ Visual Basic Toolbox / Visual Basic Toolbox (P.I.E.)(1996).ISO / buttons / butnmstr / frmbutto.frm < prev    next >
Text File  |  1994-03-25  |  4KB  |  112 lines

  1. VERSION 2.00
  2. Begin Form frmButtonBar 
  3.    BorderStyle     =   1  'Fixed Single
  4.    Caption         =   "Form1"
  5.    ClientHeight    =   4080
  6.    ClientLeft      =   5460
  7.    ClientTop       =   2016
  8.    ClientWidth     =   2076
  9.    Height          =   4500
  10.    Left            =   5412
  11.    LinkTopic       =   "Form1"
  12.    ScaleHeight     =   4080
  13.    ScaleWidth      =   2076
  14.    Top             =   1644
  15.    Width           =   2172
  16.    Begin PictureBox ButtonBar 
  17.       AutoRedraw      =   -1  'True
  18.       BorderStyle     =   0  'None
  19.       ClipControls    =   0   'False
  20.       Height          =   1116
  21.       Left            =   0
  22.       ScaleHeight     =   1116
  23.       ScaleWidth      =   2028
  24.       TabIndex        =   1
  25.       Top             =   0
  26.       Width           =   2028
  27.    End
  28.    Begin PictureBox Picture1 
  29.       AutoRedraw      =   -1  'True
  30.       AutoSize        =   -1  'True
  31.       BorderStyle     =   0  'None
  32.       Height          =   2640
  33.       Left            =   48
  34.       Picture         =   FRMBUTTO.FRX:0000
  35.       ScaleHeight     =   2640
  36.       ScaleWidth      =   2016
  37.       TabIndex        =   0
  38.       Top             =   1392
  39.       Width           =   2016
  40.    End
  41. End
  42. Option Explicit
  43.  
  44. ' Set these Constants by your Buttons Size
  45. Const ButtonWidth = 24      ' In pixels
  46. Const ButtonHeight = 22     ' In Pixels
  47.  
  48. ' How Many Buttons Wide And High is the ToolBar?
  49. Const BarWidth = 7          ' In Buttons
  50. Const BarHeight = 5         ' In Buttons
  51.  
  52. Const PIXELS = 3            ' Scalemode
  53. Dim RowY%, ColX%
  54.  
  55. ' Required for copying bitmaps
  56.  
  57. Declare Function BitBlt Lib "GDI" (ByVal hDestDC As Integer, ByVal X As Integer, ByVal Y As Integer, ByVal nWidth As Integer, ByVal nHeight As Integer, ByVal hSrcDC As Integer, ByVal XSrc As Integer, ByVal YSrc As Integer, ByVal dwRop As Long) As Integer
  58.  
  59. Sub ButtonBar_Click ()
  60.     ' Display what would normally be an event for processing
  61.     ' each button click event
  62.     '                           This is the Button Pressed
  63.     MsgBox "Button Index: " & Str$((RowY * BarWidth) + ColX)
  64. End Sub
  65.  
  66. Sub ButtonBar_MouseDown (Button As Integer, Shift As Integer, X As Single, Y As Single)
  67.     ' paste the down button image over the Up button currently displayed
  68.     Dim Success%
  69.     ColX = X \ ButtonWidth: RowY = Y \ ButtonHeight
  70.     Success = BitBlt(ButtonBar.hDC, ColX * ButtonWidth, RowY * ButtonHeight, ButtonWidth, ButtonHeight, Picture1.hDC, ButtonWidth * ColX, ButtonHeight * (RowY + BarHeight), &HCC0020)
  71.     ButtonBar.Picture = ButtonBar.Image
  72.     ' Make sure it's seen
  73.     ButtonBar.Refresh
  74. End Sub
  75.  
  76. Sub ButtonBar_MouseUp (Button As Integer, Shift As Integer, X As Single, Y As Single)
  77.     ' Restore the Up button image
  78.     Dim Success%
  79.     Success = BitBlt(ButtonBar.hDC, ColX * ButtonWidth, RowY * ButtonHeight, ButtonWidth, ButtonHeight, Picture1.hDC, ButtonWidth * ColX, ButtonHeight * RowY, &HCC0020)
  80.     ButtonBar.Picture = ButtonBar.Image
  81. End Sub
  82.  
  83. Sub CopyDownButton (XDest%, YDest%)
  84.     Dim Success%
  85.     ScaleMode = PIXELS
  86.     Picture1.ScaleMode = PIXELS
  87.     ButtonBar.ScaleMode = PIXELS
  88.     ' Source  X and Y are hardcoded as 0 and Flag set to &HCC0020
  89.     Success = BitBlt(ButtonBar.hDC, XDest, YDest, ButtonWidth, ButtonHeight, Picture1.hDC, 0, 0, &HCC0020)
  90. End Sub
  91.  
  92. Sub Form_Load ()
  93.     Dim Success%
  94.     ' Size the target button bar
  95.     ButtonBar.Width = (ButtonWidth * Screen.TwipsPerPixelX) * BarWidth
  96.     ButtonBar.Height = (ButtonHeight * Screen.TwipsPerPixelY) * BarHeight
  97.     ' Then Size the form to the ButtonBar
  98.     Me.Height = (Me.Height - Me.ScaleHeight) + ButtonBar.ScaleHeight
  99.     Me.Width = ButtonBar.ScaleWidth + Screen.TwipsPerPixelX
  100.     ' Move the source bitmap out of the way
  101.     Picture1.Left = -5000
  102.     Picture1.Top = ButtonBar.Height
  103.     ScaleMode = PIXELS
  104.     Picture1.ScaleMode = PIXELS
  105.     ButtonBar.ScaleMode = PIXELS
  106.     ' Copy the main Bitmap (Buttons) to the destination minus the Down-Buttons
  107.     Success = BitBlt(ButtonBar.hDC, 0, 0, ButtonBar.Width, ButtonBar.Height, Picture1.hDC, 0, 0, &HCC0020)
  108.     ' Refresh the Picture
  109.     ButtonBar.Picture = ButtonBar.Image
  110. End Sub
  111.  
  112.